Dynamic resource sharing among multiple wireless devices

ABSTRACT

A system and method that enables two or more hosts so that they can share a resource, such as a display. Client allocates a portion of the resource to each of the eligible hosts. This allocated size is negotiable among host(s) and the client. Client may request the hosts to scale down/up resource utilization based on the allocated portion of the resource being shared. This helps keep the client implementation simple. In this case, client maintains the allocation vector for each host. This allocation vector is used to keep track of the resource sharing. While this is a preferred approach, it is possible that “intelligent” client may actually modify resource utilization for a given host based on the negotiated allocation.

REFERENCE TO CO-PENDING APPLICATIONS

The present Application for Patent is related to the following co-pending U.S. patent applications:

“Wireless Architecture for a Traditional Wire-Based Protocol”, U.S. patent application Ser. No. 12/179,411, filed Jul. 24, 2008, which claims priority to “Wireless Architecture for a Traditional Wire-Based Protocol”, U.S. Provisional Patent Application Ser. No. 60/951,919 filed Jul. 25, 2007; and

“Apparatus and Methods for Establishing Client-Host Associations Within a Wireless Network”, U.S. patent application Ser. No. 12/098,025, filed Apr. 4, 2008.

BACKGROUND

1. Field

The presently claimed invention relates to ad-hoc networks, and more specifically to dynamically sharing resources as hosts enter and leave the network, and a system for negotiation and allocation of resources among hosts.

2. Background

When a wireless device needs to access a resource or service provided by another wireless device, they need to pair up and establish dedicated ad-hoc service between them. With the increased use of wireless ad-hoc networks, it is desirable to have the ability to share such resource and/or service provided by one client among multiple ad-hoc hosts.

At present, a solution is available where a wireless host can copy the data to a remote hard disk after establishing a wireless ad-hoc network. However, it is desirable that two or more users can archive their data from their portable devices to the same hard disk simultaneously. The presently claimed invention provides a solution by making a remote hard disk “just intelligent enough” so multiple users can share its memory.

There are proposals that would allow a wireless host to access the remote screen and render its own images onto this bigger remote screen. However, it is desirable that two or more hosts can setup the ad-hoc network and share the remote display. With the claimed invention, they can negotiate the amount of sharing, and coordinate their sharing.

Another classic example is some TV sets support picture-in-picture where multiple channels share the display area. However, a lot of “intelligence” is required inside the TV set. The TV set can only handle a fixed number of sources. Also, the sharing of display regions is fixed. This proposal enables simple clients to share the display by controlling the images' resolution sent by the ad-hoc hosts, dynamically. It also allows as many hosts as possible to access the resources in an ad-hoc manner. The resource allocation is flexible based on the negotiation among the hosts.

SUMMARY

Aspects disclosed herein address the above stated needs by a method, system, and computer program product for dynamically sharing a client resource among two or more hosts. The client allocates a portion of the resource, such as a portion of a display, to each of the hosts. This allocation can be negotiated between the hosts and the client. The client can request one or more hosts to scale up or down the use of resource. For example, the client can command that two or more hosts scale down the image area being used by each host to fill the maximum total display area. An allocation vector is maintained by the client for each host. This allocation vector is used to track the resource sharing amongst the hosts. Alternately, a client can dynamically scale the resource usage based on the allocated portion of the resource.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an exemplary allocation of client resources.

FIG. 2 describes the establishment of a shared session.

FIG. 3 describes the negotiation of the shared allocation.

FIG. 4 shows how the allocated shares are rebalanced after a host departs the system.

DETAILED DESCRIPTION

The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects.

Aspects disclosed herein address the above stated problem by providing a system for product for dynamically sharing a client resource among two or more hosts. Wireless devices/equipments interact amongst each other within a wireless network. Often, a wireless device (host) accesses one or more service(s) from another wireless device (client). In order to access and monitor the service(s), the host or the client initiates an association. This way, the host and the client establish a temporary wireless association between them. During the period of the association, the host exclusively uses the service (e.g., display) provided by the client. However, at times, it is desirable to have the ability to share the client resource (e.g., display) among multiple host devices.

The claimed invention enables two or more hosts so that they can share a client resource, such as a display as shown in FIG. 1. Client 10 allocates a portion of the resource (e.g., a fraction of display) to each of the eligible hosts 12, 14, and 16. As shown in the exemplary aspect in FIG. 1, Host_1 12 is allocated fifty percent (50%) of client resources 18, Host_2 14 is allocated twenty five percent (25%) of client resources 20 and Host_3 16 is allocated the remaining twenty five percent (25%) of client resources 22. The following is merely an example, thus the allocation can include more or less hosts and an infinite number of percentages of allocations. This allocated size is negotiable among host(s) 12, 14 and 16 and client 10. Client 10 may request hosts 12, 14, and 16, to scale down/up size of the image(s) being sent based on the allocated size of the display area being shared. This helps keep the client implementation simple. In this case, client 10 maintains an allocation vector for each host. This allocation vector is used to render the image at the allocated area. While this is a preferred approach, an optional system provides an “intelligent” client 10 that can scale down/up incoming image(s) based on the size of the allocated area for the image.

Hosts 12, 14, and 16 can specify “share-mode” at the time of establishing an association with client 10. The “share-mode” can include, but is not limited to following the modes:

Exclusive use—This mode implies that the host does not wish to share the resource with other hosts. In this case, client rejects any new request to share the resource including “exclusive use” request.

For example, if a client is in “exclusive use” association with a host, it will reject any type of share request from another host. In addition, if a client is in “non-exclusive use” association with a host, it will reject any request with “exclusive use” because the client is already in use.

Time Sliced Primary Tenant (TSPT)—In this mode, the TSPT exclusively uses the client resource(s). However, when Time Sliced Secondary Tenants (TSST) request permission to use the client resource(s), TSPT may grant the permission so that TSST can use the client resource(s) exclusively for the time being. However, TSPT can seize the client resources any time or when the TSST relinquishes the permission to use the client resource(s). Preferably, this mode should be used in Owner-Tenant fashioned cluster, as described below.

Primary Tenant—This mode implies that this host is the primary tenant. Hence, by default, it will consume a significant portion of the resource.

Time Sliced Secondary Tenants (TSST)—In this mode, TSST acquires the permission to exclusively use the client resources from the TSPT. However, it may have to relinquish the permission at the will of TSPT. As with TSPT, this mode should be used in Owner-Tenant fashioned cluster.

Secondary Tenant—This mode implies that this host would use a smaller portion of the resource, whereas a significant portion of the display area/resource will be occupied by the primary tenant. The secondary tenant can request to become primary tenant. Client may or may not grant it depending upon permission granted by the current primary tenant.

Equal Share Tenant—This mode implies that client will make sure to allocate equal amounts of the resource to each of the sharing hosts.

In another aspect, a host provides the resource sharing preferences to the client. Hosts may specify their preferences while requesting an association or negotiate it at anytime during the life of the association. If possible, client would accept the preferences as requested. Otherwise, hosts can negotiate the preferences with the client at a later time. These preferences include but are not limited to the following scenarios.

Preferred Portion—A host can specify a particular portion of the resource (e.g., a particular portion of a display surface) it desires to use. If there is no conflict, client grants the preference. However, if there is a conflict, client may negotiate the allocation with the current tenant (e.g., host currently using the specified location).

This sharing cluster may be established in “owner-tenant” or “all-tenant” fashion.

Owner-Tenant—In this case, a host becomes owner of the resource based on the predefined criteria (e.g., first host to establish the association with the client). Any other hosts sharing the resource are considered tenants. If the client receives requests to share the resource from other hosts, it would get the permission from the owner only, regardless of the number of tenants sharing the resource. If the current owner leaves the association, it transfers the ownership to another host using the predefined procedure using a wireless association ownership handover using any type of handover system, such as the one described in “Apparatus and Methods for Establishing Client-Host Associations Within a Wireless Network”, U.S. patent application Ser. No. 12/098,025, filed Apr. 4, 2008.

All-Tenant—In this case, all the hosts sharing the device are considered tenants. If client receives another request to share the resource, it seeks the permission from all the active tenants (e.g., currently sharing the resource).

If one or more host(s), sharing the resource, leave(s) the shared cluster, client would recoup the resource occupied by the leaving host and rebalance the sharing among active hosts. Client also notifies the respective updated share information to each of the active hosts. Accordingly, host(s) may scale up/down their resource usage.

In another aspect, if client reaches a specified limit on the number of owner and/or tenants, it may reject any new requests to share the resource. While this is a preferred method, it is possible that client may choose to drop sharing with an existing host in favor of a new request based on the predefined criteria (e.g., sharing priority).

In one more aspect, a qualifying host based on predefined criteria (e.g., owner or highest priority), may request to access entire resource. In this event, the client may drop the rest of the host(s) from sharing the resource.

While the above description assumes that the sharing events are brokered through the client, it is possible that hosts can negotiate sharing among themselves.

Operation—The operation of the claimed invention is described by the following examples. Although these examples only describe two hosts, it is anticipated that the system operates similarly with any number of hosts, and these exemplary aspects are meant for simple explanation of the system and not a limitation. The implementation of the claimed invention requires that a shared session be established and is depicted in FIG. 2. Initially, an association 24 exists between Host_1 12 and a client 10. An association request 30 can be made by another host, such as Host_2 14. Host_2 14 specifies one of the share-modes in a request to share, as specified above. Client 10 may accept (or reject) the request depending upon the type of the specified share-mode and whether there are any other hosts using the client 10 resource. When Host_2 14, requests to share the client resource while sending the association request to share 30, client seeks the permission 26 from the current owner (or all tenants), in this case Host_1 12, to allow the entry. If current owner (or all tenants) grant(s) the permission, client 10 accepts the association request with grant to share-mode 28 and provides an acknowledgment of the association 32. Client updates and sends the sharing information 34 and 34′ (e.g., size, location of the shared area, instruction to scale down/up resource usage) to Host_1 12 including the new one, Host_2 14. Upon acceptance, new Host_2 14 and existing Host_1 12 make the necessary changes (e.g., scales down the resource consumption) and start/continue using the client services using updated traffic mode 36 and 36′.

The negotiation of the allocation of the client 10 resources is shown in FIG. 3. When one of the hosts, in this case Host_2 14, is already engaged in association with client 10 and wants to change the sharing of the client resource (e.g., display), Host_2 14 sends a “ReqToUpdateShare” 40 to client 10. Client 10 seeks permission to update share 42 from the other host(s) (e.g., owner or all tenants), in this case Host_1 12, for the change in share. If the other host(s), Host_1 12, grants the permission 44, client 10 acknowledges the “ReqToUpdateShare” by sending Ack 46 to Host_2 14. Client 10 also sends the updated sharing information to all the hosts having active association with the client using “UpdateSharedInfo” 48 and 48′. Client includes the necessary change request (e.g., scale down/up) in this message. When host(s), Host_1 12 and Host_2 14, receive the “UpdateSharedInfo” 48 and 48′ message, they take necessary action and respond with “UpdateSharedInfoAck” 50 and 50′ to client 10. Then, they start sending the updated traffic 52 and 52′. The “UpdateSharedInfo” 48 and 48′ can also be activated at certain predetermined time intervals to insure the system is balanced.

FIG. 4 shows the system for rebalancing the allocated shares of client 10 resources. When client 10 receives the “UpdateSharedInfoAck” 50 and 50′ of FIG. 3, it updates the allocation vector 54 and continues processing updated traffic 52 and 52′ (e.g., displays images using new share). When Host_2 14 leaves the association 56, client 10 rebalances the resource allocation 58 amongst remaining hosts, in this case Host_1 12. It sends the “UpdateShareInfo” 48 signal to all the remaining hosts, in this case Host_1 12, as described in the description of FIG. 3. When Host_1 12 receives the “UpdateShareInfo” 48, it and client 10 make necessary changes as described in the negotiate allocation section of FIG. 3.

In an established ad-hoc network, if a host wants to modify its share mode, such as upgrading or downgrading to higher privilege mode (e.g. secondary tenant to primary tenant), or a lower privilege mode it sends the request to the client to modify its (host's) own share mode. The client grants the requests if there is no other active host with the requested privilege mode. If a host with the same share mode present in the ad-hoc network, the client will seek the permission from the host. The host may grant it while specifying new share mode for itself or reject it. If the host grants the permission, the client allows the requesting host to upgrade its share mode. Alternately, if a host with higher privilege (e.g. primary) mode intends to depart the ad-hoc network, it may send a request to the client to nominate another active host for the privileges it had. The client may select a host to assign these privileges based on predetermined criteria or by polling the all the active hosts within the ad-hoc network

Those of skill in the art would understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.

Those of skill in the art would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the aspects disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above, generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the presently claimed invention.

The various illustrative logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.

The steps of a method or algorithm described in connection with the aspects disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in Random Access Memory (RAM), flash memory, Read Only Memory (ROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.

The previous description of the disclosed aspects is provided to enable any person skilled in the art to make or use the presently claimed invention. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects without departing from the spirit or scope of the claimed invention. Thus, the presently claimed invention is not intended to be limited to the aspects shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein. 

1. A method for sharing resources among at least two devices in a digital communication system, the method comprising the steps of: requesting a client resource by a first host in a first share mode; requesting the client resource by a next host in a second share mode; and sharing the client resource between the first host and the next host.
 2. A system for sharing resources among at least two devices in a digital communication system, comprising: a processor; means for requesting a client resource by a first host in a first share mode in the processor; means for requesting the client resource by a next host in a second share mode in the processor; and means for sharing the client resource between the first host and the next host in the processor.
 3. A storage media comprising program instructions which are computer-executable to implement sharing of resources among at least two devices in a digital communication system, the storage media comprising: program instructions to request a client resource by a first host in a first share mode; program instructions to request the client resource by a next host in a second share mode; and program instructions to share the client resource between the first host and the next host.
 4. A method for sharing resources among at least two devices in a digital communication system, the method comprising the steps of: requesting a client resource by a first host in a first predetermined share mode; requesting the client resource by a next host in a second predetermined share mode; seeking permission by a client from the first host to share the client resource with the next host; providing a response to the sought permission by first host to the client; sharing the resource by the client between the first and the next host; and sending a client resource allocation vector to the first host and the next host by the client.
 5. The method of claim 4 wherein the first share mode and the second share mode are substantially similar.
 6. A system for sharing resources among at least two devices in a digital communication system, comprising: a processor; means for requesting a client resource by a first host in a first predetermined share mode in the processor; means for requesting the client resource by a next host in a second predetermined share mode in the processor; means for seeking permission by a client from the first host to share the client resource with the next host in the processor; means for providing a response to the sought permission by first host to the client in the processor; means for sharing the resource by the client between the first and the next host in the processor; and means for sending a client resource allocation vector to the first host and the next host by the client in the processor.
 7. The system of claim 6 wherein the first share mode and the second share mode are substantially similar.
 8. A storage media comprising program instructions which are computer-executable to implement sharing of resources among at least two devices in a digital communication system, the storage media comprising: program instructions to request a client resource by a first host in a first predetermined share mode; program instructions to request the client resource by a next host in a second predetermined share mode; program instructions to seek permission by a client from the first host to share the client resource with the next host; program instructions to provide a response to the sought permission by first host to the client; program instructions to share the resource by the client between the first and the next host; and program instructions to send a client resource allocation vector to the first host and the next host by the client.
 9. The storage media of claim 8 wherein the first share mode and the second share mode are substantially similar.
 10. A method for sharing resources among at least two devices in a digital communication system, the method comprising the steps of: requesting a client resource by at least one active host in a first predetermined share mode; requesting the client resource by at least one inactive host in a second predetermined share mode; seeking permission by a client from the at least one active host to share the client resource with the at least one inactive host; providing a response to the sought permission by at least one active host to the client; sending a client resource allocation vector to the at least one active host and the at least one newly active host by the client; allocating a first portion of the client resource to the at least one active host and a second portion of the client resource to the at least one newly active host by the client; and negotiating the allocation by the at least one active host and the at least one newly active host.
 11. The method of claim 10 further comprising the step of the client allocating a first portion of the client resource to the at least one active host and a second portion of the client resource to the at least one newly active host.
 12. The method of claim 11 further comprising the step of maintaining an allocation vector.
 13. The method of claim 10 further comprising the step of acknowledging the sought permission by the client to the at least one newly active host.
 14. The method of claim 10 wherein the provided response comprises a rejection.
 15. The method of claim 10 wherein the at least one active host, comprises at least one tenant, has a use of a full or partial client resource.
 16. The method of claim 15 wherein the at least one tenant comprises a member from the group consisting of an exclusive use tenant, a primary tenant, a secondary tenant, a time sliced primary tenant, a time sliced secondary tenant and an equal share tenant.
 17. The method of claim 15 wherein the at least one active host grants permission to the at least one inactive host, comprising the at least one tenant, to use the full or partial client resource.
 18. The method of claim 15 further comprising the step of the at least one tenant relinquishing the permission.
 19. The method of claim 10 further comprising the step of updating the resource allocation vector.
 20. The method of claim 19 wherein the step of updating occurs at predetermined instances.
 21. The method of claim 10 wherein the client resource comprises a display.
 22. The method of claim 21 wherein the client resource comprises a surface area of the display and a location on the display.
 23. The method of claim 10 further comprising the step of reallocating the client resource upon addition or subtraction of active and newly active hosts.
 24. The method of claim 23 further comprising the step of the client notifying the at least one active host of the reallocation.
 25. The method of claims 10 wherein the step of granting permission comprises a delayed start for using the client resource.
 26. A system for sharing resources among at least two devices in a digital communication system, comprising: a processor; means for requesting a client resource by at least one active host in a first predetermined share mode in the processor; means for requesting the client resource by at least one inactive host in a second predetermined share mode in the processor; means for seeking permission by a client from the at least one active host to share the client resource with the at least one inactive host in the processor; means for providing a response to the sought permission by at least one active host to the client in the processor; means for sending a client resource allocation vector to the at least one active host and the at least one newly active host by the client in the processor; means for allocating a first portion of the client resource to the at least one active host and a second portion of the client resource to the at least one newly active host by the client in the processor; and means for negotiating the allocation by the at least one active host and the at least one newly active host in the processor.
 27. The system of claim 26 further comprising a means for allocating a first portion of the client resource to the at least one active host and a second portion of the client resource by the client to the at least one newly active host.
 28. The system of claim 27 further comprising a means for maintaining an allocation vector.
 29. The system of claim 26 further comprising a means for acknowledging the sought permission by the client to the at least one newly active host.
 30. The system of claim 26 wherein the provided response comprises a rejection.
 31. The system of claim 26 wherein the at least one active host, comprises at least one tenant, has a use of a full or partial client resource.
 32. The system of claim 31 wherein the at least one tenant comprises a member from the group consisting of an exclusive use tenant, a primary tenant, a secondary tenant, a time sliced primary tenant, a time sliced secondary tenant and an equal share tenant.
 33. The system of claim 31 wherein the at least one active host grants permission to the at least one inactive host, comprising the at least one tenant, to use the full or partial client resource.
 34. The system of claim 31 further comprising a means for relinquishing the permission by the at least one tenant.
 35. The system of claim 26 further comprising a means for updating the resource allocation vector.
 36. The system of claim 35 wherein the means for updating is activated at predetermined instances.
 37. The system of claim 26 wherein the client resource comprises a display.
 38. The system of claim 37 wherein the client resource comprises a surface area of the display and a location on the display.
 39. The system of claim 26 further comprising a means for reallocating the client resource upon addition or subtraction of active and newly active hosts.
 40. The system of claim 39 further comprising a means for notifying the at least one active host of the reallocation by the client.
 41. The system of claims 26 wherein the means for granting permission comprises a delayed start for using the client resource.
 42. A storage media comprising program instructions which are computer-executable to implement sharing of resources among at least two devices in a digital communication system, the storage media comprising: program instructions to request a client resource by at least one active host in a first predetermined share mode; program instructions to request the client resource by at least one inactive host in a second predetermined share mode; program instructions to seek permission by a client from the at least one active host to share the client resource with the at least one inactive host; program instructions to provide a response to the sought permission by at least one active host to the client; program instructions to send a client resource allocation vector to the at least one active host and the at least one newly active host by the client; program instructions to allocate a first portion of the client resource to the at least one active host and a second portion of the client resource to the at least one newly active host by the client; and program instructions to negotiate the allocation by the at least one active host and the at least one newly active host.
 43. The storage media of claim 42 further comprising program instructions to allocate a first portion of the client resource to the at least one active host and a second portion of the client resource to the at least one newly active host by the client.
 44. The storage media of claim 43 further comprising program instructions to maintain an allocation vector.
 45. The storage media of claim 42 further comprising program instructions to acknowledge the sought permission by the client to the at least one newly active host.
 46. The storage media of claim 42 wherein the provided response comprises a rejection.
 47. The storage media of claim 42 wherein the at least one active host, comprises at least one tenant, has a use of a full or partial client resource.
 48. The storage media of claim 47 wherein the at least one tenant comprises a member from the group consisting of an exclusive use tenant, a primary tenant, a secondary tenant, a time sliced primary tenant, a time sliced secondary tenant and an equal share tenant.
 49. The storage media of claim 47 wherein the at least one active host comprises program instructions to grant permission to the at least one inactive host, comprising the at least one tenant, to use the full or partial client resource.
 50. The storage media of claim 47 further comprising program instructions for at least one tenant relinquishing the permission.
 51. The storage media of claim 42 further comprising program instructions to update the resource allocation vector.
 52. The storage media of claim 51 comprising program instructions to update at predetermined instances.
 53. The storage media of claim 42 wherein the client resource comprises a display.
 54. The storage media of claim 53 wherein the client resource comprises a surface area of the display and a location on the display.
 55. The storage media of claim 42 further comprising program instructions to reallocate the client resource upon addition or subtraction of active and newly active hosts.
 56. The storage media of claim 55 further comprising program instructions to notify the at least one active host of the reallocation by the client.
 57. The storage media of claims 42 wherein the program instructions to grant permission comprises program instructions to provide a delayed start for using the client resource.
 58. A method for sharing resources among at least two devices in a digital communication system, the method comprising the steps of: requesting a client resource by a first host in a first predetermined share mode; requesting the client resource by a next host in a second predetermined share mode; seeking permission by a client from the first host to share the client resource with the next host; providing a response to the sought permission by first host to the client; negotiating an allocation of the client resource by the first host and the next host; and sending a client resource allocation vector to the first host and the next host by the client.
 59. The method of claim 58 wherein the step of negotiating comprises negotiating between the first host and the next host brokered through the client.
 60. The method of claim 58 wherein the step of negotiating comprises directly negotiating between the first host and the second host.
 61. The method of claim 60 comprising the next host acquiring information on the allocated first portion and second portion and acquiring information on the at least one active host.
 62. The method of claim 60 further comprising the step of providing an updated allocation vector to the client.
 63. A system for sharing resources among at least two devices in a digital communication system, comprising: a processor; means for requesting a client resource by a first host in a first predetermined share mode in the processor; means for requesting the client resource by a next host in a second predetermined share mode in the processor; means for seeking permission by a client from the first host to share the client resource with the next host in the processor; means for providing a response to the sought permission by first host to the client in the processor; means for negotiating an allocation of the client resource by the first host and the next host in the processor; and means for sending a client resource allocation vector to the first host and the next host by the client in the processor.
 64. The system of claim 63 wherein the means for negotiating comprises a means for negotiating between the first host and the next host brokered through the client.
 65. The system of claim 63 wherein the means for negotiating comprises directly negotiating between the first host and the second host.
 66. The system of claim 65 comprising a means for acquiring information on the allocated first portion and second portion and acquiring information on the at least one active host by the next host.
 67. The system of claim 65 further comprising a means for providing an updated allocation vector to the client.
 68. A storage media comprising program instructions which are computer-executable to implement sharing of resources among at least two devices in a digital communication system, the storage media comprising: program instructions to request a client resource by a first host in a first predetermined share mode; program instructions to request the client resource by a next host in a second predetermined share mode; program instructions to seek permission by a client from the first host to share the client resource with the next host; program instructions to provide a response to the sought permission by first host to the client; program instructions to negotiate an allocation of the client resource by the first host and the next host; and program instructions to send a client resource allocation vector to the first host and the next host by the client.
 69. The storage media of claim 68 wherein the program instructions to negotiate comprises program instructions to negotiate between the first host and the next host brokered through the client.
 70. The storage media of claim 68 wherein the program instructions to negotiate comprises program instructions to directly negotiate between the first host and the second host.
 71. The storage media of claim 70 comprising program instructions to acquire information on the allocated first portion and second portion and acquiring information on the at least one active host by the next host.
 72. The storage media of claim 70 further comprising program instructions to provide an updated allocation vector to the client.
 73. A method for modifying a share mode of a first active host's share in an ad-hoc network, the method comprising the steps of: sending a request of the modification of the share mode by the first active host to the client; and sending a response to the request by the client.
 74. The method of claim 73 wherein the request comprises an upgrade of the share mode.
 75. The method of claim 74 further comprising the step of determining whether a second active host maintains a similar or higher privilege share mode as the requested modified share mode by the client and the response comprises a grant of the request if the second active host does not maintain a similar or higher privilege.
 76. The method of claim 75 further comprising the step of the client seeking permission from a second active host to modify the share mode of the active first host.
 77. The method of claim 75 further comprising the step of the first active host sending an intent to depart the ad-hoc network and requesting the client nominate another active host to obtain privileges of the first active host and the step of the client assigning the privileges to a second active host.
 78. A system for modifying a share mode of a first active host's share in an ad-hoc network, comprising: a processor; means for sending a request of the modification of the share mode by the first active host to the client in the processor; and means for sending a response to the request by the client in the processor.
 79. The system of claim 78 wherein the request comprises an upgrade of the share mode.
 80. The system of claim 79 further comprising a means for determining whether a second active host maintains a similar or higher privilege share mode as the requested modified share mode by the client and the response comprises a grant of the request if the second active host does not maintain a similar or higher privilege.
 81. The system of claim 80 further comprising a means for seeking permission by the client from a second active host to modify the share mode of the active first host.
 82. The system of claim 80 further comprising a means for the first active host sending an intent to depart the ad-hoc network and a means for requesting the client nominate another active host to obtain privileges of the first active host and a means for the client assigning the privileges to a second active host.
 83. A storage media comprising program instructions which are computer-executable to implement a modification of a share mode of a first active host's share in an ad-hoc network, the storage media comprising: program instructions to send a request of the modification of the share mode by the first active host to the client; and program instructions to send a response to the request by the client.
 84. The storage media of claim 83 wherein the request comprises an upgrade of the share mode.
 85. The storage media of claim 84 further comprising program instructions to determine whether a second active host maintains a similar or higher privilege share mode as the requested modified share mode by the client and the response comprises a grant of the request if the second active host does not maintain a similar or higher privilege.
 86. The storage media of claim 85 further comprising program instructions for the client to seek permission from a second active host to modify the share mode of the active first host.
 87. The storage media of claim 85 further comprising program instructions to send an intent to depart the ad-hoc network by the first active host and to request the client nominate another active host to obtain privileges of the first active host and program instructions to assign the privileges to a second active host by the client. 